A. Field of the Invention
This invention relates to methods and protocols for transmission of facsimile data over Internet Protocol (IP) packet switched networks. More particularly, it relates to a new protocol (User Datagram Protocol Extension or xe2x80x9cUDPXxe2x80x9d herein) for transporting the data in a reliable and error-corrected fashion over the packet switched network between two gateways. The gateways provide an interface to the packet switched network and an interface to a telephone network and sending and receiving fax machines. The present invention provides for error correction through the use of selective retransmission of data packets, error correction through dynamic adjustment of flow control and redundant packet windows, and, optionally, additional error detection through frame check sequences (FCS) on facsimile data packets where the FCS bits are placed in every facsimile data packet.
B. Description of Related Art
The International Telecommunications Union-Telephony (ITU-T) is an international standards body that proposes and adopts certain standards relating to telecommunications. One such standard, ITU-T draft recommendation T.38, xe2x80x9cProcedures for Real Time Group 3 Facsimile Communication between Terminals Using IP Networksxe2x80x9d, which is incorporated by reference herein, describes the technical features necessary to transfer facsimile documents between G3 terminals over IP networks. The recommendation also proposes an optional transport layer protocol based on the User Datagram Protocol (UDP) with a means for error control.
TCP is a connection-oriented protocol, with built in frame check sequences and timer-based retransmission schemes. For background information on these and other features of TCP, see, e.g., Douglas E. Comer, Internetworking with TCP/IP, Vol. 1, Principles, Protocols and Architecture, Chapter 13, Prentis-Hall (1995). Since facsimile transmission is delay sensitive, the delay characteristics and congestion problems associated with TCP make it unsuitable for fax transmission. Also, TCP attempts to share the available bandwidth fairly among competing TCP sessions, which is not suitable for fax which has fixed bit rate requirements.
UDP is a connectionless protocol with provision for optional frame check sequences and no retransmission schemes. ITU-T draft recommendation T.38 suggests implementing a reliable protocol (known as UDPTL) which is based on providing sequence numbers and either providing forward error correction or redundancy for fax packets which are sent over UDP. ITU-T draft recommendation T.38 also discusses an XOR-based forward error correction scheme and also discusses a redundancy scheme which is used to assemble an additional number of prior fax packets, after the primary packet, with monotonically decreasing sequence numbers. To maintain the real-time characteristics of fax transmission, the UDP approached described above is more suitable as compared to the TCP approach described in the previous, paragraph.
However, to implement the UDP approach as defined by the T.38 recommendation, the error control protocol UDPTL needs to be supported. The UDPTL protocol allows for either forward error correction or redundant transmission of fax packets. There are several disadvantages to this protocol. First of all, the forward error correction schemes, when implemented in UDPTL, may not be able to recover from choppy behavior of the IP network being used (e.g., loss of packets) and may result in excessive loss of packets. Not only would this result in loss of fax data packets, it would lead to additional buffer requirements on the transmitting end and require additional bit computations. Secondly, with the redundancy scheme as proposed in the T.38 recommendation, UDPTL would have to maintain a constant overhead for all packets. This would mean additional bandwidth requirements as well as buffer requirements. Thirdly, with UDPTL the transmitter has no knowledge of valid reception of packets by the receiver. Consequently, an adaptive control mechanism cannot be implemented, which results in additional bandwidth requirements.
The present invention attempts to address these problems, and provide a new protocol and method for reliable transmission of facsimile data over an IP network. The method and protocol are designed to run on top of the UDP and IP protocols with a xe2x80x9clight-weightxe2x80x9d, i.e., low overhead, acknowledgement and retransmission scheme that provides for adaptive control over transmission of facsimile data, using a sliding window to make the data transfer reliable, while maintaining real time characteristics.
These and other features of the invention will be more apparent from the following summary and detailed description of a preferred embodiment of the invention.
A method is provided for transmitting facsimile data across a packet-switched network from a transmitter to a receiver in a reliable fashion. The method comprises the steps of:
(a) implementing a sliding flow control window that controls the maximum outstanding frames that the transmitter may transmit at any given time without waiting for an acknowledgement from the receiver;
(b) implementing a dynamic redundancy window that controls the number of redundant packets that are retransmitted from the transmitter to the receiver within each of the frames; and
(c) increasing or decreasing the size of the dynamic redundancy window depending on whether the network exhibits choppy behavior, such as a tendency to lose packets transmitted between the transmitter and the receiver.
The error correction functionality is achieved in the above method by transmitting sequentially numbered xe2x80x9cinformationxe2x80x9d frames, each containing a number of packets containing facsimile data. The maximum number of frames is given by the maximum permissible window size. When the receiver receives the numbered information frames, it keeps acknowledging the sequentially received information frames. The sliding flow control window then moves forward to enable the transmitter to send more information frames.
Within each information frame there may exist one or more redundant facsimile data packets. The number of redundant facsimile data packets is controlled by the dynamic redundancy window. When the network exhibits choppy behavior, the size of the redundancy window increases and more packets (with monotonically decreasing sequence numbers) are transmitted. If the network does not exhibit choppy behavior, then the dynamic redundancy window is reduced such that no redundant packets are transmitted.
In another aspect of the invention, an improvement to a transmitter or gateway for Internet Protocol (IP) facsimile is provided. The transmitter has an interface to a public switched telephone network (PSTN), with the PSTN interface receiving facsimile data from a fax machine connected to the PSTN. The transmitter has an interface to an IP packet switched network, such as the Internet or Internet Service Provider backbone network. The improvement comprises a transmission module controlling the transmission of facsimile data onto the IP network for receipt by a receiver for the facsimile data.
The transmission module, which may, for example be incorporated into the interface module providing the IP interface, implements a sliding flow control window that controls the maximum outstanding frames that the transmitter may transmit at any given time without waiting for an acknowledgement from the receiver. The transmission module implements a dynamic redundancy window that controls the number of redundant packets that are retransmitted from the transmitter to the receiver. The transmission module increases or decreases the size of the dynamic redundancy window depending on whether the network exhibits a tendency to lose packets transmitted between the transmitter and the receiver.
These and other features of the invention will be described in further detail in the following detailed description of a presently preferred embodiment.